PowerShell/ファイル・フォルダの存在チェック・Test |
您所在的位置:网站首页 › powershell test-path › PowerShell/ファイル・フォルダの存在チェック・Test |
Prev
Next
PowerShell
Test-Pathコマンドレットを使用してファイル・フォルダの存在確認を行う方法 †
PowerShellのTest-Pathコマンドレットを使用することにより、ファイル・フォルダの有無を確認することができます。 また、Test-Pathはレジストリ内に指定したキーワードが存在するかも確認することができます。 以下に使用例を記します。 Test-Pathコマンドレットを使用してファイル・フォルダの存在確認を行う方法 関連記事 Test-Pathコマンドレットを使ってみる Test-Pathコマンドレットでファイルの存在確認 Test-Pathコマンドレットでディレクトリの存在確認 レジストリの確認 ifを使って判定してみる Test-Pathコマンドレットを使用したサンプルコード サンプルコードの実行例 ↑関連記事 † レジストリのルートーキーの省略キー名称 ファイル・フォルダの存在チェック・Test-Pathコマンドレット PowerShellでテキストファイルの指定した範囲を抽出する・Get-Content PowerShellでテキストファイルの行数を取得する方法・Get-Content PowerShellでファイルサイズがゼロのファイルを作成する・New-Item テキストファイルを1行ずつ読み込むサンプルコード Stringオブジェクトのパス文字列を分解する方法・Split-Path 相対パスからフルパスを取得する・Convert-Path パス文字列の結合・Join-Path ↑Test-Pathコマンドレットを使ってみる †Test-Pathコマンドレットを使って、ファイル、フォルダ、レジストリの存在確認をしてみます。 ↑Test-Pathコマンドレットでファイルの存在確認 †Test-Pathコマンドレットに存在確認するファイル名を指定し実行した結果です。 ワイルドカードも利用することができます。 存在する場合は、True, 存在しない場合はFalseが返却されているのが確認できます。 PS C:\Windows> dir *.log ディレクトリ: C:\Windows Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2012/01/11 16:09 1313 TSSysprep.log -a--- 2012/09/14 11:17 1534693 WindowsUpdate.log PS C:\Windows> Test-Path .\WindowsUpdate.log True PS C:\Windows> Test-Path .\*.log True PS C:\Windows> Test-Path .\*.txt False PS C:\Windows> ↑Test-Pathコマンドレットでディレクトリの存在確認 †上記のファイルの存在確認同様、フォルダ(ディレクトリ)を指定して実行した結果です。 存在する場合は、True, 存在しない場合はFalseが返却されているのが確認できます。 PS C:\> Test-Path .\Users True PS C:\> Test-Path .\U* True PS C:\> Test-Path .\Users\Linux False ↑レジストリの確認 †HKEY_LOCAL_MACHINEレジストリの存在確認を実行した結果です。 存在する場合は、True, 存在しない場合はFalseが返却されているのが確認できます。 PS C:\> Test-Path HKLM:\HARDWARE True PS C:\> Test-Path HKLM:\HARDWARE\DESCRIPTION True PS C:\> Test-Path HKLM:\HARDWARE\DESCRIPTION\System True PS C:\> Test-Path HKLM:\HARDWARE\DESCRIPTION\System\CentralProcessor TrueHKLM, HKCUなどのレジストリの省略名については、以下の記事を参照してください。 レジストリのルートーキーの省略キー名称 ↑ifを使って判定してみる †if構文を使ってファイルの存在確認を行うスクリプトを以下に記します。 ↑Test-Pathコマンドレットを使用したサンプルコード †引数に指定されたファイルをTest-Pathコマンドレットを使い存在チェックを行います。 FileExists.zip #################### # FileExists.ps1 #################### function usage { Write-Host "Usage: "$Script:MyInvocation.MyCommand.Name " ..." exit 1 } if ($args.length -eq 0) { usage } foreach($f in $args) { if (Test-Path $f) { Write-Host $f is found! } else { Write-Host $f is not found! } } ↑サンプルコードの実行例 †上記のFileExists.ps1の実行例を以下に記します。 実行例では、3つの引数を渡し3つのファイルの存在チェックを行っています。 PS Z:\sample> .\FileExists.ps1 C:\Windows C:\Windows\WindowsUpdate.log C:\Linux C:\Windows is found! C:\Windows\WindowsUpdate.log is found! C:\Linux is not found! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |